using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;

namespace MasterLab
{
    static class Utilidades
    {
        /* Convertir una cadena a entero*/
        static public double convertirDoble(string valor)
        {
            if (esDoble(valor))
            {
                return Convert.ToDouble(valor);
            }
            else
            {
                return 0;
            }

        }
        /*Comprobar si una string es un valor entero*/
        static public bool esEntero(string var)
        {
            int v;
            try{
                v = Int32.Parse(var);
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }

        /*Comprobar si una string se puede convertir a un valor  booleano.*/
        static public bool esDoble(string var)
        {
            double v;
            try
            {
                v = Double.Parse(var);
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }

        /*Calcular Hash MD5*/
        public static string md5(string pass)
        {
            MD5 md5 = MD5CryptoServiceProvider.Create();
            byte[] dataMd5 = md5.ComputeHash(Encoding.Default.GetBytes(pass));
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < dataMd5.Length; i++)
                sb.AppendFormat("{0:x2}", dataMd5[i]);
            return sb.ToString();
        }
    }
}
